home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
misc_pto
/
mshelp
/
special.hlp
< prev
Wrap
Text File
|
1988-03-29
|
8KB
|
181 lines
Each page starts with six box size and color description numbers
preceded by an asterix '*' on the first column. This is ignored because
there is no asterix yet.
The format is top row, left column, bottom row, right column, character
color, background color.
top row..................................
left column .
. .
. bottom row
........................................right column
The top row must be 1 or greater and the bottom row must be 25 or less.
The left column must be 1 or greater and the right column must be 80 or
less. It may be obvious but the difference between the two rows and the two
columns should be two or more. In other words, if the top row is 1, the
bottom row must be 3 or more. If the left column is 5, then the right column
must be 7 or more. Otherwise, how can you have any text?
You must be in an 80 by 25 text mode on a non-flicker video adaptor such
as the monochrome adaptor, EGA and VGA.
Until all six numbers are obtained, all letters are ignored. Right
after the numbers are obtained, there should be a carriage return since this
will skip one character (the CR) after the sixth number and everything
afterwards till another asterix '*' on the first column becomes the help/menu
page to be displayed.
In actual use, all this above is not used and should be deleted since
this still uses TSR memory space but is not used.
*top row 2
left column 1
bottom row 5
right column 30
foreground character color is white 7
background behind the character color is blue 1
This is the text to be displayed. This part is ignored since it is outside.
as page 0 of 256 allowed
*all six parameters can be on same line like this 1 1 20 80 2 7
The screen on page 1 is 20 row high, of which 18 are used since the line
edge will use 2 of them up.
The screen is the maximum 80 characters wide, of which 78 are useable
since the line edge will use 2 of them.
The foreground color is # 2 (green) and background is 7 (white).
As long as the asterix '*' star is not on the first left column, it is
not used as the parameter for the screen size.
If a line goes past 78 characters wide, then the extra lines are cut off from
the screen. If the number of rows exceed the 20 rows, then the extra is
not displayed. If there is not enough rows of text to cover the 20 rows,
then the rest of the screen will be blank.
*10 1 20 60
parts can be on a different line since the program will keep looking until
it can find all six parameters needed. This is not recommended since you
might forget to have all six but allowed.
Here, the fore/back-ground colors are set for black on black, which is
black letter on black background and invisible, but this special case is used
to mean the default white characters on black background.0 0
(blank)
*top row 1 left column 2 bottom row 23 right column 70 colors 2 5
For the color codes,
0 is for black
1 is for blue
2 is for green
3 is for cyan (blue-green)
4 is for red
5 is for magenta (purple)
6 is for brown (sort of yellow)
7 is for grey
so this is green characters on a purple background. 8 - 15 makes
it brighter.
To have a reverse cursor, just use BASIC with the COLOR
statement to write the words in appropriate colors and INKEY$ to
get the cursor movements.
If you like, you can use the MSIMPLE.EXE in CompuServe GO
IBMSW to MakeinkeySIMPLE and various LCShort programs exist to
change the screen from graphic modes to text modes. Plus one
which forces graphic mode to go to text mode without destroying
the graphic image, then back again (needs EGA, VGA etc).
This is still grouped under the page above but cannot be seen since the
setting for the screen size excludes this section.
**top row 1 left column 2 bottom row 23 right column 70 colors 7 0
This overwrites the one above in plain white characters on
black and is visible in monochrome mode.
When switching between writing to monochrome area and CGA
area, register AL = 4 and AL = 5 should be used along with the
setting as recommended in the BASIC manual to switch displays
under Appendix I, heading 'Switching Displays'.
To switch to monochrome adapter,
DEF SEG = 0:POKE &H410,(PEEK(&H410) OR &H30)
To switch to color adapter,
DEF SEG = 0:POKE &H410,(PEEK(&H410) AND &HCF) OR &H10
See the BASIC manual for details.
To do so with an assembler or LCS, this is the equipment flag
word at location 0:410H or 0:1040 decimal, with bit 5 and 4 set to
binary 10 (32 decimal) for color card and 11 (48 decimal) for
monochrome.
Both the equipment flags and MSHELP must be set because
MSHELP uses the BIOS to first clear the part of the screen where
the text is to be written, and BIOS relies on the proper setting
of the equipment flags.
WARNING:
===================================================================
| This switching of displays is not recommended because of an |
|insidious and infamous design in the IBM PC which can burn out |
|either/both the video boards and/or the monitors. |
| Many newer well known brand name video boards and monitors |
|may be able to take it, others may suffer catastrophic failures |
|instantly or with repeated/intermittent switching of monitors. |
| Results may also vary widely with the PC/compatible/clone |
|used. In general, older machines/components have more trouble. |
===================================================================
*1 1 25 80 7 0
Multiple screens may be written one after the other as in here, but
since there is no multiple screen saves performed, one page of help/menu
simply write over the next. To reverse the writing of page two over page
one, you must restore the screen and then store it again, followed by
writing of page one again.
There is nothing to prevent you from displaying all 254 characters
(chr$(0) is not allowed) in the character set, but in case someone wants
more features built in here, try to avoid chr$(1) through chr$(31) control
codes and the bar character '|'. If you have to include them, prepare to
do a slight addition to your pop up texts. Of course, if you didn't think
this was good enough to contribute anything, then I won't make any additions
and you can use the entire 254 character set without worrying about future
compatibility. If you do use this but your word processor cannot place any
control codes in your text, you should contact me so that I can make sure
the special codes use the bar character '|' as the escape sequencer, and no
control codes are used.
There is also additional information provided if you run MSHELP with
the parameter 'h' as in MSHELP H
You'll have to use the control-NumLock to pause once or twice to read
the entire listing or send the output to a printer to read it.
All products and names mentionned are Trademarks or Registered
Trademarks of their respective companies.
*2 1 9 75 7 1
(c) Copy Right 1987,88 All Rights Reserved.
Dr. Masaaki Sawada, University of Waterloo, Faculty of Science,
Waterloo Ontario, Canada N2L 3G1